package no.ntnu.idi.deid.config;

import java.io.File;

import no.ntnu.idi.deid.decision.validators.findPhrase.DistanceMeasure;



public class Constants {
	
	private Constants() {
	}
	
	public static final OperatingSystem OPERATING_SYSTEM = OperatingSystem.WINDOWS;
	
	//PreProcessor
	public static final String SECTION_SPLITTER = "$$2112$$";
	public static final boolean ENABLE_PREPARE_TOKEN = true; //enables preRuleBase-methods if true (Document.java, generateAllTokens())
	
	//PhraseSearch
	public static final double COSINE_SIMILIRITY_THRESHOLD = 0.6;
	public static final String TEMP_PHRASERESULT_FILENAME = "tempfile.txt";
	public static final int MAXIMUM_DISTANCE_MEASURE = 1;
	public static final boolean ENABLE_SIMSTRING = true;
	public static final boolean ENABLE_NGRAM = true;
	public static final DistanceMeasure  distanceMeasure = DistanceMeasure.LevenshteinDistance;
	
	public static final File NCSP_DB_FILE = new File(FilePaths.getSimStringDatabaseFolder()+"ncsp.db");
	public static final File ICD10_DB_FILE = new File(FilePaths.getSimStringDatabaseFolder()+"icd10.db");
	public static final File ICPC_DB_FILE = new File(FilePaths.getSimStringDatabaseFolder()+"icpc.db");
	public static final File SNOMED_DB_FILE = new File(FilePaths.getSimStringDatabaseFolder()+"snomed.db");	
	public static final File NCMP_DB_FILE = new File(FilePaths.getSimStringDatabaseFolder()+"ncmp.db");	
	public static final File NCRP_DB_FILE = new File(FilePaths.getSimStringDatabaseFolder()+"ncrp.db");
	public static final File ORGNAME_DB_FILE = new File(FilePaths.getSimStringDatabaseFolder()+"orgname.db");	
	
	public static final File ICPC_TEXT_FILE = new File(FilePaths.getSimStringTextfilesFolder()+"ICPC_Descriptions.txt");
	public static final File ICD10_TEXT_FILE = new File(FilePaths.getSimStringTextfilesFolder()+"ICD10_Descriptions.txt");
	public static final File NCSP_TEXT_FILE = new File(FilePaths.getSimStringTextfilesFolder()+"NCSP_Descriptions.txt");
	public static final File SNOMED_TEXT_FILE = new File(FilePaths.getSimStringTextfilesFolder()+"SNOMED_Descriptions.txt");
	public static final File NCMP_TEXT_FILE = new File(FilePaths.getSimStringTextfilesFolder()+"NCMP_Descriptions.txt");
	public static final File NCRP_TEXT_FILE = new File(FilePaths.getSimStringTextfilesFolder()+"NCRP_Descriptions.txt");
	public static final File ORGNAME_TEXT_FILE = new File(FilePaths.getSimStringTextfilesFolder()+"OrganizationName.txt");

	
	//FINALIZER
	public static final boolean ENABLE_TOKEN_TF_IDF = true;
	public static final boolean ENABLE_SENTENCE_TF_IDF = false;
	public static final Double TOKEN_IDF_LOWER_THRESHOLD = 0.2;
	public static final Double TOKEN_IDF_UPPER_THRESHOLD = 2.0;
	public static final Double SENTENCE_TF_IDF_LOWER_THRESHOLD = 0.2;
	public static final double SENTENCE_SENSITIVITY_PERCENTAGE_THRESHOLD = 0.8; //Hvor stor andel av setningen som må være sensitiv for at hele setningen skal blir klassifisert som sensitiv
	public static final boolean ENABLE_STEMMING = true;
	
	
	//tokensearch
	public static final String ALLOWED_DELIMITERS_DATE = "\\.|\\/|\\-|\\:|\\;|\\,";
	//not in use
	public static final String UKNOWNTAG = "<UNKOWN>";

	


}
